package com.skivingcloud.report.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;

/**
 * excel报表模板sheet页配置信息表 实体类。
 *
 * @author skivingcloud
 * @since 2024-11-13
 */
@Schema(description = "excel报表模板sheet页配置信息表")
@Table("report_tpl_sheet")
public class ReportTplSheet implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id
    @Schema(description = "主键")
    private String id;

    /**
     * 模板id
     */
    @Schema(description = "模板id")
    private String tplId;

    /**
     * sheet名称
     */
    @Schema(description = "sheet名称")
    private String sheetName;

    /**
     * sheet顺序
     */
    @Schema(description = "sheet顺序")
    private Integer sheetOrder;

    /**
     * luckysheet行高，列宽等额外配置
     */
    @Schema(description = "luckysheet行高，列宽等额外配置")
    private String config;

    /**
     * 冻结属性
     */
    @Schema(description = "冻结属性")
    private String frozen;

    /**
     * 图片
     */
    @Schema(description = "图片")
    private String images;

    /**
     * sheet页唯一索引
     */
    @Schema(description = "sheet页唯一索引")
    private String sheetIndex;

    /**
     * 计算链，有公式的单元格信息
     */
    @Schema(description = "计算链，有公式的单元格信息")
    private String calcChain;

    /**
     * 登录名
     */
    @Schema(description = "登录名")
    private String alternateformatSave;

    /**
     * 图表配置
     */
    @Schema(description = "图表配置")
    private String chart;

    /**
     * 数据校验项
     */
    @Schema(description = "数据校验项")
    private String dataVerification;

    /**
     * 创建人
     */
    @Schema(description = "创建人")
    private String creator;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @Schema(description = "更新人")
    private String updater;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 是否删除 1是 0否
     */
    @Schema(description = "是否删除 1是 0否")
    private String delFlag;

    /**
     * 斜线表头截图
     */
    @Schema(description = "斜线表头截图")
    private String xxbtScreenshot;

    /**
     * 分页线配置
     */
    @Schema(description = "分页线配置")
    private String pageDivider;

    /**
     * 条件格式
     */
    @Schema(description = "条件格式")
    private String conditionformatSave;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTplId() {
        return tplId;
    }

    public void setTplId(String tplId) {
        this.tplId = tplId;
    }

    public String getSheetName() {
        return sheetName;
    }

    public void setSheetName(String sheetName) {
        this.sheetName = sheetName;
    }

    public Integer getSheetOrder() {
        return sheetOrder;
    }

    public void setSheetOrder(Integer sheetOrder) {
        this.sheetOrder = sheetOrder;
    }

    public String getConfig() {
        return config;
    }

    public void setConfig(String config) {
        this.config = config;
    }

    public String getFrozen() {
        return frozen;
    }

    public void setFrozen(String frozen) {
        this.frozen = frozen;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public String getSheetIndex() {
        return sheetIndex;
    }

    public void setSheetIndex(String sheetIndex) {
        this.sheetIndex = sheetIndex;
    }

    public String getCalcChain() {
        return calcChain;
    }

    public void setCalcChain(String calcChain) {
        this.calcChain = calcChain;
    }

    public String getAlternateformatSave() {
        return alternateformatSave;
    }

    public void setAlternateformatSave(String alternateformatSave) {
        this.alternateformatSave = alternateformatSave;
    }

    public String getChart() {
        return chart;
    }

    public void setChart(String chart) {
        this.chart = chart;
    }

    public String getDataVerification() {
        return dataVerification;
    }

    public void setDataVerification(String dataVerification) {
        this.dataVerification = dataVerification;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getXxbtScreenshot() {
        return xxbtScreenshot;
    }

    public void setXxbtScreenshot(String xxbtScreenshot) {
        this.xxbtScreenshot = xxbtScreenshot;
    }

    public String getPageDivider() {
        return pageDivider;
    }

    public void setPageDivider(String pageDivider) {
        this.pageDivider = pageDivider;
    }

    public String getConditionformatSave() {
        return conditionformatSave;
    }

    public void setConditionformatSave(String conditionformatSave) {
        this.conditionformatSave = conditionformatSave;
    }

}
